from lxg.ssq import RedBall, BlueBall
from lxg import ssq


class SsqUtil:
    """
    双色球工具类
    """

    def __init__(self):
        self.red = RedBall(ssq.get_curr_red_tuple())
        self.blue = BlueBall(ssq.get_curr_red_tuple(), ssq.get_latest_5_blue_tuple())

    def get_next_red_set(self):
        """
        获取下期的红球集合
        :return: 红球集合
        """
        return self.red.get_next_red_num_set()

    def get_next_blue_set(self):
        """
        获取下期的篮球集合
        :return: 篮球集合
        """
        return self.blue.get_next_blue_ball_num_set()

    def get_public_num_red_set(self, public_num):
        """
        获取指定期数的红球集合
        :param public_num: 开奖期数
        :return: 红球集合
        """
        red = RedBall(ssq.get_red_tuple_by_public_num_tuple(public_num))
        return red.get_next_red_num_set()

    def get_public_num_blue_set(self, public_num):
        """
        获取指定期数的篮球集合
        :param public_num: 指定期数
        :return: 篮球集合
        """
        blue = BlueBall(
            ssq.get_red_tuple_by_public_num_tuple(public_num),
            ssq.get_before_5_blue_tuple_by_public_num(public_num)
        )
        return blue.get_next_blue_ball_num_set()


if __name__ == '__main__':
    su = SsqUtil()
    # print("下期可能出现的红球号码集合: {}".format(su.get_next_red_set()))
    # print("下期可能出现的蓝球号码集合: {}".format(su.get_next_blue_set()))
    # public_num = '2020105'
    public_num = '2020104'
    # public_num = '2020103'
    # public_num = '2020102'
    # public_num = '2020101'
    print("{}期可能出现的红球号码集合: {}".format(public_num, su.get_public_num_red_set(public_num)))
    print("{}期可能出现的蓝球号码集合: {}".format(public_num, su.get_public_num_blue_set(public_num)))
